﻿/*请求基础类*/
define(['jquery'], function($) {
    var baseUrl = ""; //基础URL----请修改成后台提供的接口基础url
    var request = {
        baseRequest: function(interfaceName, options) { //请求基础方法(接口名称，请求参数)
            var baseParams = {
//                "Format": "JSONP",
//                "Version": "V1.0"
            }; //定义基础参数
            options = options || {};
            var callback = options.callback || {}; //请求返回
            var errorback = options.errback || {}; //错误返回
            var opt = $.extend(baseParams, options.data);
            $.ajax({
                url: baseUrl + interfaceName,
                type: "post",
                data: baseParams,
                dataType: "json",
                //timeout:30000,
                success: function(data) {
                    if (typeof(options.callback) == "function" || options.ForceBackCall == true){ //正确返回
                        options.callback(data);
                    } else {
                        //alert(data.Message);
                    }
                },
                error: function(XMLHttpRequest, textStatus, errorThrown) {
                    if (typeof(options.errorback) == "function") {
                        options.errorback(err);
                    } else {
                        // alert(XMLHttpRequest.status);
                        // alert(XMLHttpRequest.readyState);
                        // alert(textStatus);
                    }
                },
                complete: function(XMLHttpRequest, textStatus) {
                    //this; // 调用本次AJAX请求时传递的options参数
                }
            });
        },
        baseRequestUpload: function(interfaceName, options) { //请求基础方法(接口名称，请求参数)
            options = options || {};
            var callback = options.callback || {}; //请求返回
            var errorback = options.errback || {}; //错误返回
//            console.log(options.data);
            $.ajax({
                url: baseUrl + interfaceName,
                type: "post",
                data: options.data,
                async:false,
                cache:false,
                contentType:false,
                processData:false,
                //timeout:30000,
                success: function(data) {
                    if (typeof(options.callback) == "function" || options.ForceBackCall == true){ //正确返回
                        options.callback(data);
                    } else {
                        //alert(data.Message);
                    }
                },
                error: function(XMLHttpRequest, textStatus, errorThrown) {
                    if (typeof(options.errorback) == "function") {
                        options.errorback(textStatus);
                    } else {
                        // alert(XMLHttpRequest.status);
                        // alert(XMLHttpRequest.readyState);
                        // alert(textStatus);
                    }
                },
                complete: function(XMLHttpRequest, textStatus) {
                    //this; // 调用本次AJAX请求时传递的options参数
                }
            });
        }
    };
    return request;
});
